﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using acessaDB;
using Frame;
using System.Data;
using System.Configuration;
using FirebirdSql.Data.FirebirdClient;
using Estrutura;


namespace Banco
{

    public class BD_Plano_manutencao_servico
    {
        #region variaveis_globais

        acessaDB.conectaDBFireBird fireBird = new conectaDBFireBird();
        string conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionLocal"];
        string usuario = string.Empty;

        #endregion

        #region construtor

        public BD_Plano_manutencao_servico()
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionProd"];
        }
        public BD_Plano_manutencao_servico(string usu_Login)
        {
            if (System.Configuration.ConfigurationManager.AppSettings["ambiente"] == "PROD")
                conectionString = System.Configuration.ConfigurationManager.AppSettings["FireBirdConnectionProd"];
            usuario = usu_Login;
        }

        #endregion

        #region metodos

        public DataSet _retorna_Plano_manutencao_servico(
                                                string CTM_PLANO_MANUTENCAO_SERVICO_ID,
                                                string CTM_PLANO_MANUTENCAO_ID,
                                                string CTM_MODELO_ITEM_INSPECAO_ID,
                                                string CTM_CAD_INSPECAO_ID,
                                                string CTM_CAD_DIRETIVA_ID,
                                                string PART_NUMBER_ID,
                                                string PMA_EXTENDER_FAIXA_SERIAL,
                                                string PMA_SN_FAIXA_INI,
                                                string PMA_SN_FAIXA_FIM,
                                                string PMA_REFERENCIA,
                                                string PMA_DATA_LIMITE_EXECUCAO
                                                )
        {

            if (string.IsNullOrEmpty(CTM_PLANO_MANUTENCAO_SERVICO_ID)) CTM_PLANO_MANUTENCAO_SERVICO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_PLANO_MANUTENCAO_ID)) CTM_PLANO_MANUTENCAO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_MODELO_ITEM_INSPECAO_ID)) CTM_MODELO_ITEM_INSPECAO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_CAD_INSPECAO_ID)) CTM_CAD_INSPECAO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_CAD_DIRETIVA_ID)) CTM_CAD_DIRETIVA_ID = "'0'";
            if (string.IsNullOrEmpty(PART_NUMBER_ID)) PART_NUMBER_ID = "'0'";
            if (string.IsNullOrEmpty(PMA_EXTENDER_FAIXA_SERIAL)) PMA_EXTENDER_FAIXA_SERIAL = "''";
            if (string.IsNullOrEmpty(PMA_SN_FAIXA_INI)) PMA_SN_FAIXA_INI = "''";
            if (string.IsNullOrEmpty(PMA_SN_FAIXA_FIM)) PMA_SN_FAIXA_FIM = "''";
            if (string.IsNullOrEmpty(PMA_REFERENCIA)) PMA_REFERENCIA = "''";
            if (string.IsNullOrEmpty(PMA_DATA_LIMITE_EXECUCAO)) PMA_DATA_LIMITE_EXECUCAO = Util.retonarAspas(Util.formataData(System.DateTime.Now.ToString()));

            string sql = "SELECT " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_SERVICO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_MODELO_ITEM_INSPECAO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_INSPECAO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_DIRETIVA_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PART_NUMBER_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_EXTENDER_FAIXA_SERIAL, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_INI, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_FIM, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_REFERENCIA, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_DATA_LIMITE_EXECUCAO " +
                            "FROM CTM_PLANO_MANUTENCAO_SERVICO " +
                            "LEFT JOIN CTM_CAD_INSPECAO ON CTM_CAD_INSPECAO.CTM_CAD_INSPECAO_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_INSPECAO_ID " +
                            "LEFT JOIN CTM_PLANO_MANUTENCAO ON CTM_PLANO_MANUTENCAO.CTM_PLANO_MANUTENCAO_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_ID " +
                            "LEFT JOIN CTM_CAD_DIRETIVA ON CTM_CAD_DIRETIVA.CTM_CAD_DIRETIVA_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_DIRETIVA_ID " +
                            "LEFT JOIN CTM_MODELO_ITEM_INSPECAO ON CTM_MODELO_ITEM_INSPECAO.CTM_MODELO_ITEM_INSPECAO_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_MODELO_ITEM_INSPECAO_ID " +
                            "WHERE " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_SERVICO_ID = " + CTM_PLANO_MANUTENCAO_SERVICO_ID + "  OR " + CTM_PLANO_MANUTENCAO_SERVICO_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_ID         = " + CTM_PLANO_MANUTENCAO_ID + "  OR " + CTM_PLANO_MANUTENCAO_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_MODELO_ITEM_INSPECAO_ID     = " + CTM_MODELO_ITEM_INSPECAO_ID + "  OR " + CTM_MODELO_ITEM_INSPECAO_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_INSPECAO_ID             = " + CTM_CAD_INSPECAO_ID + "  OR " + CTM_CAD_INSPECAO_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_DIRETIVA_ID             = " + CTM_CAD_DIRETIVA_ID + "  OR " + CTM_CAD_DIRETIVA_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PART_NUMBER_ID                  = " + PART_NUMBER_ID + "  OR " + PART_NUMBER_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_EXTENDER_FAIXA_SERIAL       = " + PMA_EXTENDER_FAIXA_SERIAL + "  OR " + PMA_EXTENDER_FAIXA_SERIAL + " = '') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_INI                = " + PMA_SN_FAIXA_INI + "  OR " + PMA_SN_FAIXA_INI + " = '') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_FIM                = " + PMA_SN_FAIXA_FIM + "  OR " + PMA_SN_FAIXA_FIM + " = '') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_REFERENCIA                  = " + PMA_REFERENCIA + "  OR " + PMA_REFERENCIA + " = '') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_DATA_LIMITE_EXECUCAO        = " + PMA_DATA_LIMITE_EXECUCAO + "  OR " + PMA_DATA_LIMITE_EXECUCAO + " = '') ";

            DataSet dsRetorno = fireBird.retornaDataSet(sql, conectionString);
            return dsRetorno;

        }


        public List<ES_Plano_manutencao_servico> _obter_Plano_manutencao_servico(
                                                string CTM_PLANO_MANUTENCAO_SERVICO_ID,
                                                string CTM_PLANO_MANUTENCAO_ID,
                                                string CTM_MODELO_ITEM_INSPECAO_ID,
                                                string CTM_CAD_INSPECAO_ID,
                                                string CTM_CAD_DIRETIVA_ID,
                                                string PART_NUMBER_ID,
                                                string PMA_EXTENDER_FAIXA_SERIAL,
                                                string PMA_SN_FAIXA_INI,
                                                string PMA_SN_FAIXA_FIM,
                                                string PMA_REFERENCIA,
                                                string PMA_DATA_LIMITE_EXECUCAO
                                                )
        {

            if (string.IsNullOrEmpty(CTM_PLANO_MANUTENCAO_SERVICO_ID)) CTM_PLANO_MANUTENCAO_SERVICO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_PLANO_MANUTENCAO_ID)) CTM_PLANO_MANUTENCAO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_MODELO_ITEM_INSPECAO_ID)) CTM_MODELO_ITEM_INSPECAO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_CAD_INSPECAO_ID)) CTM_CAD_INSPECAO_ID = "'0'";
            if (string.IsNullOrEmpty(CTM_CAD_DIRETIVA_ID)) CTM_CAD_DIRETIVA_ID = "'0'";
            if (string.IsNullOrEmpty(PART_NUMBER_ID)) PART_NUMBER_ID = "'0'";
            if (string.IsNullOrEmpty(PMA_EXTENDER_FAIXA_SERIAL)) PMA_EXTENDER_FAIXA_SERIAL = "''";
            if (string.IsNullOrEmpty(PMA_SN_FAIXA_INI)) PMA_SN_FAIXA_INI = "''";
            if (string.IsNullOrEmpty(PMA_SN_FAIXA_FIM)) PMA_SN_FAIXA_FIM = "''";
            if (string.IsNullOrEmpty(PMA_REFERENCIA)) PMA_REFERENCIA = "''";
            if (string.IsNullOrEmpty(PMA_DATA_LIMITE_EXECUCAO)) PMA_DATA_LIMITE_EXECUCAO = Util.retonarAspas(Util.formataData(System.DateTime.Now.ToString()));

            string sql = "SELECT " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_SERVICO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_MODELO_ITEM_INSPECAO_ID, " +
                                  "CTM_CAD_INSPECAO.INS_DESCRICAO, "+
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_INSPECAO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_DIRETIVA_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PART_NUMBER_ID, " +
                                  "PN_CADASTRO.PNU_PART_NUMBER, "+
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PART_NUMBER_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.MODELO_ID, "+
                                  "MODELO.MOD_CODIGO, "+
                                  "MODELO.MOD_DESCRICAO, "+
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_EXTENDER_FAIXA_SERIAL, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_INI, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_FIM, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_REFERENCIA, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_DATA_LIMITE_EXECUCAO " +
                            "FROM CTM_PLANO_MANUTENCAO_SERVICO " +
                            "LEFT JOIN CTM_CAD_INSPECAO ON CTM_CAD_INSPECAO.CTM_CAD_INSPECAO_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_INSPECAO_ID " +
                            "LEFT JOIN CTM_PLANO_MANUTENCAO ON CTM_PLANO_MANUTENCAO.CTM_PLANO_MANUTENCAO_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_ID " +
                            "LEFT JOIN CTM_CAD_DIRETIVA ON CTM_CAD_DIRETIVA.CTM_CAD_DIRETIVA_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_DIRETIVA_ID " +
                            "LEFT JOIN CTM_MODELO_ITEM_INSPECAO ON CTM_MODELO_ITEM_INSPECAO.CTM_MODELO_ITEM_INSPECAO_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_MODELO_ITEM_INSPECAO_ID " +
                            "LEFT JOIN PN_CADASTRO ON PN_CADASTRO.PART_NUMBER_ID = CTM_PLANO_MANUTENCAO_SERVICO.PART_NUMBER_ID " +
                            "LEFT JOIN MODELO ON MODELO.MODELO_ID = CTM_PLANO_MANUTENCAO_SERVICO.MODELO_ID " +
                            "WHERE " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_SERVICO_ID = " + CTM_PLANO_MANUTENCAO_SERVICO_ID + "  OR " + CTM_PLANO_MANUTENCAO_SERVICO_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_ID         = " + CTM_PLANO_MANUTENCAO_ID + "  OR " + CTM_PLANO_MANUTENCAO_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_MODELO_ITEM_INSPECAO_ID     = " + CTM_MODELO_ITEM_INSPECAO_ID + "  OR " + CTM_MODELO_ITEM_INSPECAO_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_INSPECAO_ID             = " + CTM_CAD_INSPECAO_ID + "  OR " + CTM_CAD_INSPECAO_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_DIRETIVA_ID             = " + CTM_CAD_DIRETIVA_ID + "  OR " + CTM_CAD_DIRETIVA_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PART_NUMBER_ID                  = " + PART_NUMBER_ID + "  OR " + PART_NUMBER_ID + " = '0') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_EXTENDER_FAIXA_SERIAL       = " + PMA_EXTENDER_FAIXA_SERIAL + "  OR " + PMA_EXTENDER_FAIXA_SERIAL + " = '') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_INI                = " + PMA_SN_FAIXA_INI + "  OR " + PMA_SN_FAIXA_INI + " = '') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_FIM                = " + PMA_SN_FAIXA_FIM + "  OR " + PMA_SN_FAIXA_FIM + " = '') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_REFERENCIA                  = " + PMA_REFERENCIA + "  OR " + PMA_REFERENCIA + " = '') AND " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.PMA_DATA_LIMITE_EXECUCAO        = " + PMA_DATA_LIMITE_EXECUCAO + "  OR " + PMA_DATA_LIMITE_EXECUCAO + " = " + PMA_DATA_LIMITE_EXECUCAO + ") ";

            List<ES_Plano_manutencao_servico> lista = new List<ES_Plano_manutencao_servico>();
            FbConnection fbConexao = new FbConnection(conectionString);
            FbDataReader dr = fireBird.retornaDataReader(sql, conectionString, fbConexao);
            try
            {
                while (dr.Read())
                {
                    ES_Plano_manutencao_servico item = new ES_Plano_manutencao_servico();
                    item.CTM_PLANO_MANUTENCAO_SERVICO_ID = dr["CTM_PLANO_MANUTENCAO_SERVICO_ID"].ToString();
                    item.CTM_PLANO_MANUTENCAO_ID = dr["CTM_PLANO_MANUTENCAO_ID"].ToString();
                    item.CTM_MODELO_ITEM_INSPECAO_ID = dr["CTM_MODELO_ITEM_INSPECAO_ID"].ToString();
                    item.CTM_CAD_INSPECAO_ID = dr["CTM_CAD_INSPECAO_ID"].ToString();
                    item.INS_DESCRICAO = dr["INS_DESCRICAO"].ToString();
                    item.CTM_CAD_DIRETIVA_ID = dr["CTM_CAD_DIRETIVA_ID"].ToString();
                    item.PART_NUMBER_ID = dr["PART_NUMBER_ID"].ToString();
                    item.PNU_PART_NUMBER = dr["PNU_PART_NUMBER"].ToString();
                    item.PMA_EXTENDER_FAIXA_SERIAL = (dr["PMA_EXTENDER_FAIXA_SERIAL"].ToString() == "S")? true: false;
                    item.PMA_SN_FAIXA_INI = dr["PMA_SN_FAIXA_INI"].ToString();
                    item.PMA_SN_FAIXA_FIM = dr["PMA_SN_FAIXA_FIM"].ToString();
                    item.PMA_REFERENCIA = dr["PMA_REFERENCIA"].ToString();
                    item.PMA_DATA_LIMITE_EXECUCAO = Util.formataData(dr["PMA_DATA_LIMITE_EXECUCAO"].ToString(), "dd/MM/yyyy");
                    item.MODELO_ID = dr["MODELO_ID"].ToString();
                    item.MOD_CODIGO = dr["MOD_CODIGO"].ToString();
                    item.MOD_DESCRICAO = dr["MOD_DESCRICAO"].ToString();

                    lista.Add(item);

                }
                return lista;
            }
            finally
            {
                fireBird.fecharConexao(fbConexao);
            }
        }


        public ES_Plano_manutencao_servico _obter_Plano_manutencao_servico_by_id(
                                                string CTM_PLANO_MANUTENCAO_SERVICO_ID
                                                )
        {

            if (string.IsNullOrEmpty(CTM_PLANO_MANUTENCAO_SERVICO_ID)) CTM_PLANO_MANUTENCAO_SERVICO_ID = "'0'";

            string sql = "SELECT " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_SERVICO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_MODELO_ITEM_INSPECAO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_INSPECAO_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_DIRETIVA_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PART_NUMBER_ID, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_EXTENDER_FAIXA_SERIAL, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_INI, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_SN_FAIXA_FIM, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_REFERENCIA, " +
                                  "CTM_PLANO_MANUTENCAO_SERVICO.PMA_DATA_LIMITE_EXECUCAO " +
                            "FROM CTM_PLANO_MANUTENCAO_SERVICO " +
                            "LEFT JOIN CTM_CAD_INSPECAO ON CTM_CAD_INSPECAO.CTM_CAD_INSPECAO_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_INSPECAO_ID " +
                            "LEFT JOIN CTM_PLANO_MANUTENCAO ON CTM_PLANO_MANUTENCAO.CTM_PLANO_MANUTENCAO_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_ID " +
                            "LEFT JOIN CTM_CAD_DIRETIVA ON CTM_CAD_DIRETIVA.CTM_CAD_DIRETIVA_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_CAD_DIRETIVA_ID " +
                            "LEFT JOIN CTM_MODELO_ITEM_INSPECAO ON CTM_MODELO_ITEM_INSPECAO.CTM_MODELO_ITEM_INSPECAO_ID = CTM_PLANO_MANUTENCAO_SERVICO.CTM_MODELO_ITEM_INSPECAO_ID " +
                            "WHERE " +
                            "      (CTM_PLANO_MANUTENCAO_SERVICO.CTM_PLANO_MANUTENCAO_SERVICO_ID = " + CTM_PLANO_MANUTENCAO_SERVICO_ID + "  OR " + CTM_PLANO_MANUTENCAO_SERVICO_ID + " = '0') ";

            ES_Plano_manutencao_servico item = new ES_Plano_manutencao_servico();
            FbConnection fbConexao = new FbConnection(conectionString);
            FbDataReader dr = fireBird.retornaDataReader(sql, conectionString, fbConexao);
            try
            {
                while (dr.Read())
                {
                    item.CTM_PLANO_MANUTENCAO_SERVICO_ID = dr["CTM_PLANO_MANUTENCAO_SERVICO_ID"].ToString();
                    item.CTM_PLANO_MANUTENCAO_ID = dr["CTM_PLANO_MANUTENCAO_ID"].ToString();
                    item.CTM_MODELO_ITEM_INSPECAO_ID = dr["CTM_MODELO_ITEM_INSPECAO_ID"].ToString();
                    item.CTM_CAD_INSPECAO_ID = dr["CTM_CAD_INSPECAO_ID"].ToString();
                    item.CTM_CAD_DIRETIVA_ID = dr["CTM_CAD_DIRETIVA_ID"].ToString();
                    item.PART_NUMBER_ID = dr["PART_NUMBER_ID"].ToString();
                    item.PMA_EXTENDER_FAIXA_SERIAL = (dr["PMA_EXTENDER_FAIXA_SERIAL"].ToString() == "S") ? true : false;
                    item.PMA_SN_FAIXA_INI = dr["PMA_SN_FAIXA_INI"].ToString();
                    item.PMA_SN_FAIXA_FIM = dr["PMA_SN_FAIXA_FIM"].ToString();
                    item.PMA_REFERENCIA = dr["PMA_REFERENCIA"].ToString();
                    item.PMA_DATA_LIMITE_EXECUCAO = dr["PMA_DATA_LIMITE_EXECUCAO"].ToString();

                }
                return item;
            }
            finally
            {
                fireBird.fecharConexao(fbConexao);
            }
        }


        public void _inserir_Plano_manutencao_servico(
                                                string CTM_PLANO_MANUTENCAO_SERVICO_ID,
                                                string CTM_PLANO_MANUTENCAO_ID,
                                                string CTM_MODELO_ITEM_INSPECAO_ID,
                                                string CTM_CAD_INSPECAO_ID,
                                                string CTM_CAD_DIRETIVA_ID,
                                                string PART_NUMBER_ID,
                                                string MODELO_ID,
                                                string PMA_EXTENDER_FAIXA_SERIAL,
                                                string PMA_SN_FAIXA_INI,
                                                string PMA_SN_FAIXA_FIM,
                                                string PMA_REFERENCIA,
                                                string PMA_DATA_LIMITE_EXECUCAO
                                                )
        {

            string sql = " INSERT INTO CTM_PLANO_MANUTENCAO_SERVICO " +
                         "      ( " +
                         "          CTM_PLANO_MANUTENCAO_ID        , " +
                         "          CTM_MODELO_ITEM_INSPECAO_ID    , " +
                         "          CTM_CAD_INSPECAO_ID            , " +
                         "          CTM_CAD_DIRETIVA_ID            , " +
                         "          PART_NUMBER_ID                 , " +
                         "          MODELO_ID                      , "+
                         "          PMA_EXTENDER_FAIXA_SERIAL      , " +
                         "          PMA_SN_FAIXA_INI               , " +
                         "          PMA_SN_FAIXA_FIM               , " +
                         "          PMA_REFERENCIA                 , " +
                         "          PMA_DATA_LIMITE_EXECUCAO         " +
                 "      )" +
                 "  VALUES " +
                 "      ( " +
                              Util.retonarNull(CTM_PLANO_MANUTENCAO_ID) + ", " +
                              Util.retonarNull(CTM_MODELO_ITEM_INSPECAO_ID) + ", " +
                              Util.retonarNull(CTM_CAD_INSPECAO_ID) + ", " +
                              Util.retonarNull(CTM_CAD_DIRETIVA_ID) + ", " +
                              Util.retonarNull(PART_NUMBER_ID) + ", " +
                              Util.retonarNull(MODELO_ID) + ", " +
                              Util.retonarAspas(PMA_EXTENDER_FAIXA_SERIAL, true) + ", " +
                              Util.retonarAspas(PMA_SN_FAIXA_INI, true) + ", " +
                              Util.retonarAspas(PMA_SN_FAIXA_FIM, true) + ", " +
                              Util.retonarAspas(PMA_REFERENCIA, true) + ", " +
                              Util.retonarAspas(Util.formataData(PMA_DATA_LIMITE_EXECUCAO), true) +
                 "      )";
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        public void _atualizar_Plano_manutencao_servico(
                                                string CTM_PLANO_MANUTENCAO_SERVICO_ID,
                                                string CTM_PLANO_MANUTENCAO_ID,
                                                string CTM_MODELO_ITEM_INSPECAO_ID,
                                                string CTM_CAD_INSPECAO_ID,
                                                string CTM_CAD_DIRETIVA_ID,
                                                string PART_NUMBER_ID,
                                                string MODELO_ID,
                                                string PMA_EXTENDER_FAIXA_SERIAL,
                                                string PMA_SN_FAIXA_INI,
                                                string PMA_SN_FAIXA_FIM,
                                                string PMA_REFERENCIA,
                                                string PMA_DATA_LIMITE_EXECUCAO
                                                )
        {

            string sql = " UPDATE CTM_PLANO_MANUTENCAO_SERVICO SET " +
                         "      CTM_PLANO_MANUTENCAO_ID         = " + Util.retonarNull(CTM_PLANO_MANUTENCAO_ID) + ", " +
                         "      CTM_MODELO_ITEM_INSPECAO_ID     = " + Util.retonarNull(CTM_MODELO_ITEM_INSPECAO_ID) + ", " +
                         "      CTM_CAD_INSPECAO_ID             = " + Util.retonarNull(CTM_CAD_INSPECAO_ID) + ", " +
                         "      CTM_CAD_DIRETIVA_ID             = " + Util.retonarNull(CTM_CAD_DIRETIVA_ID) + ", " +
                         "      PART_NUMBER_ID                  = " + Util.retonarNull(PART_NUMBER_ID) + ", " +
                         "      MODELO_ID                       = " + Util.retonarNull(MODELO_ID) + ", " +
                         "      PMA_EXTENDER_FAIXA_SERIAL       = " + Util.retonarAspas(PMA_EXTENDER_FAIXA_SERIAL, true) + ", " +
                         "      PMA_SN_FAIXA_INI                = " + Util.retonarAspas(PMA_SN_FAIXA_INI, true) + ", " +
                         "      PMA_SN_FAIXA_FIM                = " + Util.retonarAspas(PMA_SN_FAIXA_FIM, true) + ", " +
                         "      PMA_REFERENCIA                  = " + Util.retonarAspas(PMA_REFERENCIA, true) + ", " +
                         "      PMA_DATA_LIMITE_EXECUCAO        = " + Util.retonarAspas(Util.formataData(PMA_DATA_LIMITE_EXECUCAO), true) +
                         " WHERE CTM_PLANO_MANUTENCAO_SERVICO_ID =  " + CTM_PLANO_MANUTENCAO_SERVICO_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }

        public void _atualizar_Plano_manutencao_servicoInspecao(
                                                                string CTM_PLANO_MANUTENCAO_SERVICO_ID,
                                                                string CTM_PLANO_MANUTENCAO_ID,
                                                                string CTM_CAD_INSPECAO_ID,
                                                                string INS_DESCRICAO,
                                                                string PART_NUMBER_ID,
                                                                bool PMA_EXTENDER_FAIXA_SERIAL,
                                                                string PMA_SN_FAIXA_INI,
                                                                string PMA_SN_FAIXA_FIM,
                                                                string PMA_REFERENCIA)
        {

            string sql = " UPDATE CTM_PLANO_MANUTENCAO_SERVICO SET " +
                         "       CTM_CAD_INSPECAO_ID                    = " + Util.retonarAspas(CTM_CAD_INSPECAO_ID, true) + ", " +
                         "       PART_NUMBER_ID                         = " + Util.retonarNull(PART_NUMBER_ID) + ", " +
                         "       PMA_EXTENDER_FAIXA_SERIAL              = " + Util.retonarAspas(((PMA_EXTENDER_FAIXA_SERIAL == true)? "S" : "N"), true) + ", " +
                         "       PMA_SN_FAIXA_INI                       = " + Util.retonarAspas(PMA_SN_FAIXA_INI, true) + ", " +
                         "       PMA_SN_FAIXA_FIM                       = " + Util.retonarAspas(PMA_SN_FAIXA_FIM, true) + ", " +
                         "       PMA_REFERENCIA                         = " + Util.retonarAspas(PMA_REFERENCIA, true) + 
                         " WHERE CTM_PLANO_MANUTENCAO_SERVICO_ID        = " + CTM_PLANO_MANUTENCAO_SERVICO_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }

        public void _atualizar_Plano_manutencao_servicoDiretiva(
                                                string CTM_PLANO_MANUTENCAO_SERVICO_ID,
                                                string PART_NUMBER_ID,
                                                string CTM_CAD_DIRETIVA_ID,
                                                string PNU_PART_NUMBER,
                                                string PMA_SN_FAIXA_INI,
                                                string PMA_SN_FAIXA_FIM,
                                                string PMA_DATA_LIMITE_EXECUCAO
                                                )
        {

            string sql = " UPDATE CTM_PLANO_MANUTENCAO_SERVICO SET " +                         
                         "      CTM_CAD_DIRETIVA_ID             = " + CTM_CAD_DIRETIVA_ID + ", " +
                         "      PART_NUMBER_ID                  = " + PART_NUMBER_ID + ", " +                         
                         "      PMA_SN_FAIXA_INI                = " + Util.retonarAspas(PMA_SN_FAIXA_INI, true) + ", " +
                         "      PMA_SN_FAIXA_FIM                = " + Util.retonarAspas(PMA_SN_FAIXA_FIM, true) + ", " +                         
                         "      PMA_DATA_LIMITE_EXECUCAO        = " + Util.retonarAspas(Util.formataData(PMA_DATA_LIMITE_EXECUCAO), true) +
                         " WHERE CTM_PLANO_MANUTENCAO_SERVICO_ID =  " + CTM_PLANO_MANUTENCAO_SERVICO_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }


        public void _excluir_Plano_manutencao_servico(string CTM_PLANO_MANUTENCAO_SERVICO_ID)
        {
            string sql = "DELETE FROM CTM_PLANO_MANUTENCAO_SERVICO WHERE CTM_PLANO_MANUTENCAO_SERVICO_ID = " + CTM_PLANO_MANUTENCAO_SERVICO_ID;
            try
            {
                fireBird._ExecutarComandoRetornandoID(sql, conectionString, false, usuario);
            }
            catch
            { }
        }



        #endregion
    }
}
